1. Field of the Invention
The present invention relates to color management in computer monitors and, in particular but not by way of limitation, to systems and methods for correcting color displayed on computer monitors and to systems for displaying those corrected colors.
2. Background and Related Art
In computer systems, the digital representation of color is in terms of variable mixes of three basic colors: red, green and blue (RGB). The human visual system predictably perceives the close juxtaposition of these three basic colors as one resultant color. This illusion is the basis for color image processing. That is, it possible to manipulate the intensity mix of the three basic constituent colors (red, green, and blue) to cause a viewer to perceive various desired color shades. In fact, a whole range of colors may be perceived in this manner.
In present computer graphics systems, red, green, and blue colors are mixed by a graphics controller that usually handles the intensity control of each basic color using a 6–8 bit control—referred to as an intensity value. Generally, the working range of intensity values are from 0 to 255—0 meaning that the corresponding basic color is completely dark (at 0%) and 225 meaning that the corresponding basic color is at maximum intensity (at 100%). Intensity values between 0 and 255 produce corresponding, but not necessarily, proportional changes in actual displayed brightness for the corresponding color and, thus, corresponding changes in resulting perceived color.
For a high fidelity color system, the monitor must predictably display the correct shade of color that is represented by any mix of red, green and blue. However, a monitor can only display the correct shade of color if the intensities of each color component can be precisely controlled. Present display systems generally lack such precise control and, accordingly, display inaccurate colors. That is, because most computer systems cannot precisely control color intensities, a particular mix of colors may be viewed on one monitor, for example, as blue and on another monitor as blue-green.
In most cases, the variances in basic color points from one monitor to the next are only slight. However, even these small variances can result in a viewer perceiving different colors. The need for each monitor to display the same color is becoming more critical with the growth of web-based commerce. For example, retailers need to provide electronic shoppers with accurate depictions of their products. In particular, clothing retailers need to provide electronic shoppers with accurate colors, i.e., the “true-color”, of their products. Unless the retailer can convey the actual color of their products to its customers, those customers likely may become disappointed because the product that they received is different from the product that they thought that they ordered.
Presently, sRGB monitors have the ability to precisely control intensities and, thus, the ability to display accurate colors. sRGB monitors are specially designed to utilize a standard non-linear color space that is reliably consistent across all sRGB monitors. sRGB monitors, however, are very difficult to manufacture and are prohibitively expensive. Accordingly, attempts have been made to adjust typical computer monitors to more accurately display colors. These attempts have generally been less than satisfactory because they require human intervention (thereby interjecting a subjective element to color determination).
Other attempts to correct color deficiencies have similarly proven less than accurate typically as a result of insufficient data. For example, measured monitor specific color response data may not be available and instead color data is only estimated across large batches of manufactured monitors. Likewise, flaws in the monitor specific output measurement itself can cause inaccuracies.
Even with reliable monitor specific data, color correction attempts have proven unsuccessful as a result of system speed requirements. The number and time of processing computations to obtain a corrected output have been prohibitive. For example, video data color filtering for personal computer systems has involved fetching color video data from video memory, performing several multiplication and addition operations on the color video data, and writing the modified color video data back to the video memory. This process has been quite time consuming due to the processing time required for multiplication operations, with each multiplication operation taking on the order of one hundred times that of one addition operation. Since processing time associated with video data color filtering determines how quickly video images are displayed to personal computer users, video data color filtering is even avoided altogether with certain personal computer systems. Other attempts have taken shortcuts through approximation of color values, for example, in order to save valuable computational processing cycles. These shortcuts, however, fail to account for monitor specific color differences and thus result in less than accurate color transformation.